Apple 的 Swift 语言let和in有什么区别?var
let
var
据我了解,它是一种编译语言,但它不会在编译时检查类型。这让我很困惑。编译器如何知道类型错误?如果编译器不检查类型,是不是生产环境有问题?
当我尝试为 a 赋值时会出现此错误let:
无法分配给属性:’variableName’ 是一个 ‘let’ 常量 将 ‘let’ 更改为 ‘var’ 以使其可变
let关键字定义了一个常量:
let theAnswer = 42
theAnswer之后无法更改。这就是为什么任何东西weak都不能用let. 它们需要在运行时 更改 ,您必须var改为使用它们。
theAnswer
weak
定义了var一个普通变量。
有趣的是:
常量的值 不需要在编译时就知道 ,但你必须只赋值一次。
另一个奇怪的功能:
您可以使用几乎任何您喜欢的字符作为常量和变量名称,包括 Unicode 字符:
let 馃惗馃惍 = "dogcow"
摘自:Apple Inc.“Swift 编程语言”。iBooks。https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewBook?id=881256329